Computing devices often run operating systems as a way to manage hardware and/or software resources of the computing devices. In some cases, an operating system can provide simplified, programmatic access to the resources. For example, the operating system can include Application Programming Interfaces (APIs) to expose various components. An application can successfully call an API through a different programming language and/or type system than that of the API, provided the application knows what types are associated with the API. For example, the API can include one or more input and/or output parameter(s). To call the API, the programmer determines not only the API's parameters, but what data types are associated with parameters.
As discussed above, an API can be described with a different type system than that of a calling programming language. To bridge the differing type systems, a programmer typically writes wrapper code to translate between type systems. One way for the programmer to include API access in a program is to include the API definitions into source code through one or more file(s) and/or namespaces. To successfully incorporate the files and/or namespaces into the source code, the source code can be configured to include a reference to the specific location of the files/namespaces (e.g. hardcoded path, accessing a registry key with the path, etc.). If the location, file name, and/or namespace name changes, the linkage is broken until the code and/or software tools are updated with appropriate changes.